#ifndef __MEM_TEST_H_
#define __MEM_TEST_H_

#include <stdint.h>

#define EN_MEM_TEST_OPENSOURCE         (1)
#define EN_SRAM_TEST         (0)
#define EN_DDR0_TEST         (1)
#define EN_DDR1_TEST         (0)
#define EN_PRESSURE_TEST     (0)
#define TEST_START_MEM_ADDR  (&_end)
// #define TEST_END_MEM_ADDR    (0xf0080000UL)
#define TEST_END_MEM_ADDR    (0xf0040100UL)

#define TEST_START_DDR0_ADDR (0x4000000000UL)
#define TEST_START_DDR1_ADDR (0x8000000000UL)
// #define TEST_DDR0_SIZE       (16 * 1024 * 1024)
// #define TEST_DDR0_SIZE       (64ul)
#define TEST_DDR0_SIZE       (64UL * 1024UL)
#define TEST_DDR1_SIZE       (64UL * 1024UL)
#define TEST_END_DDR0_ADDR   (TEST_START_DDR0_ADDR + TEST_DDR0_SIZE)
#define TEST_END_DDR1_ADDR   (TEST_START_DDR1_ADDR + TEST_DDR1_SIZE)

int mem_test_opensource(unsigned long off, unsigned long size);
int32_t mem_test(void);
int32_t ddr0_test(void);
int32_t ddr1_test(void);

#endif /* __MEM_TEST_H__ */
